﻿/**************************************************************************
创建时间:	2020/5/22 21:53:31    
作	  者:	张存
邮 	  箱:	zhangcunliang@126.com

Copyright (c) zhcun.cn

描	述：
记	录：
***************************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace ZhCun.Win.Controls
{
    [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)]
    public class ToolStripDateTimePicker : ToolStripControlHost
    {
        public ToolStripDateTimePicker()
            : base(new UcDateTimePicker())
        {
            AutoSize = false;
            Width = 150;
        }
        
        public DateTimePicker DatePickerControl
        {
            get
            {
                return (Control as UcDateTimePicker).Picker;
            }
        }

        ///// <summary>
        ///// 获取或设置控件的宽度。
        ///// </summary>
        //[Browsable(true)]
        //[Description(" 获取或设置控件的宽度。")]
        //public new int Width
        //{
        //    set {
        //        base.Width = value;
        //        Control.Width = value;
        //        DatePickerControl.Width = value; 
        //    }
        //    get { return DatePickerControl.Width; }
        //}

        //[Description(" 获取或设置控件的宽度。")]
        //public int WidthByPicker
        //{
        //    set
        //    {
        //        Width = value;
        //        DatePickerControl.Width = value;
        //    }
        //    get { return DatePickerControl.Width; }
        //}

        /// <summary>
        /// 获取或设置自定义日期
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置自定义日期/时间格式字符串。")]
        public string CustomFormat
        {
            set { DatePickerControl.CustomFormat = value; }
            get { return DatePickerControl.CustomFormat; }
        }
        /// <summary>
        /// 获取或设置可在控件中选择的最大日期和时间。
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置可在控件中选择的最大日期和时间。")]
        public DateTime MaxDate
        {
            set { DatePickerControl.MaxDate = value; }
            get { return DatePickerControl.MaxDate; }
        }
        /// <summary>
        /// 获取或设置一个值，该值指示是否已用有效日期/时间值设置了 System.Windows.Forms.DateTimePicker.Value 属性且显示的值可以更新。
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置一个值，该值指示是否已用有效日期/时间值设置了 System.Windows.Forms.DateTimePicker.Value 属性且显示的值可以更新。")]
        public bool Checked
        {
            set { DatePickerControl.Checked = value; }
            get { return DatePickerControl.Checked; }
        }
        /// <summary>
        /// 获取或设置一个值，该值指示在选定日期的左侧是否显示一个复选框。
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置一个值，该值指示在选定日期的左侧是否显示一个复选框。")]
        public bool ShowCheckBox
        {
            set { DatePickerControl.ShowCheckBox = value; }
            get { return DatePickerControl.ShowCheckBox; }
        }
        /// <summary>
        /// 获取或设置控件中显示的日期和时间格式。
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置控件中显示的日期和时间格式。")]
        public DateTimePickerFormat Format
        {
            set { DatePickerControl.Format = value; }
            get { return DatePickerControl.Format; }
        }
        /// <summary>
        /// 获取或设置分配给控件的日期/时间值。
        /// </summary>
        [Browsable(true)]
        [Description("获取或设置分配给控件的日期/时间值。")]
        public DateTime Value
        {
            set { DatePickerControl.Value = value; }
            get { return DatePickerControl.Value; }
        }
    }
}
